/**
 * 量词
 *  ● *     重复 0 次或多次
 *  ● +     重复 1 次或多次
 *  ● ?     重复 0 次或 1 次
 *  ● {m}   重复 m 次
 *  ● {m,}  重复 [m, +∞) 次
 *  ● {m,n} 重复 [m, n] 次
 *  ● ()    分组
 */

// *     重复 0 次或多次 >>>
var reg = /^a*$/
// console.log(reg.test('')) // true
// console.log(reg.test('a')) // true
// console.log(reg.test('aa')) // true
// *     重复 0 次或多次 <<<

// +     重复 1 次或多次 >>>
var reg = /^a+$/
// console.log(reg.test('')) // false
// console.log(reg.test('a')) // true
// console.log(reg.test('aa')) // true
// +     重复 1 次或多次 <<<

// ?     重复 0 次或 1 次 >>>
var reg = /^a?$/
// console.log(reg.test('')) // true
// console.log(reg.test('a')) // true
// console.log(reg.test('aa')) // false
// ?     重复 0 次或 1 次 <<<

// {m}   重复 m 次 >>>
var reg = /^a{3}$/
// console.log(reg.test('aa')) // false
// console.log(reg.test('aaa')) // true
// console.log(reg.test('aaaa')) // false
// {m}   重复 m 次 <<<

// {m,}  重复 [m, +∞) 次 >>>
var reg = /^a{3,}$/
// console.log(reg.test('aa')) // false
// console.log(reg.test('aaa')) // true
// console.log(reg.test('aaaa')) // true
// {m,}  重复 [m, +∞) 次 <<<

// {m,n} 重复 [m, n] 次 >>>
var reg = /^a{3,4}$/
// console.log(reg.test('aa')) // false
// console.log(reg.test('aaa')) // true
// console.log(reg.test('aaaa')) // true
// console.log(reg.test('aaaaa')) // false
// {m,n} 重复 [m, n] 次 <<<

// ()    分组 >>>
var reg = /^(abc){2}$/
console.log(reg.test('abcabc')) // true
// ()    分组 <<<
